package com.stefanini.pe.gnrws.services;

public class TransferenciaProxy implements com.stefanini.pe.gnrws.services.Transferencia {
  private boolean _useJNDI = true;
  private boolean _useJNDIOnly = false;
  private String _endpoint = null;
  private com.stefanini.pe.gnrws.services.Transferencia __transferencia = null;
  
  public TransferenciaProxy() {
    _initTransferenciaProxy();
  }
  
  private void _initTransferenciaProxy() {
  
    if (_useJNDI || _useJNDIOnly) {
      try {
        javax.naming.InitialContext ctx = new javax.naming.InitialContext();
        __transferencia = ((com.stefanini.pe.gnrws.services.TransferenciaService)ctx.lookup("java:comp/env/service/TransferenciaService")).getTransferencia();
      }
      catch (javax.naming.NamingException namingException) {
        if ("true".equalsIgnoreCase(System.getProperty("DEBUG_PROXY"))) {
          System.out.println("JNDI lookup failure: javax.naming.NamingException: " + namingException.getMessage());
          namingException.printStackTrace(System.out);
        }
      }
      catch (javax.xml.rpc.ServiceException serviceException) {
        if ("true".equalsIgnoreCase(System.getProperty("DEBUG_PROXY"))) {
          System.out.println("Unable to obtain port: javax.xml.rpc.ServiceException: " + serviceException.getMessage());
          serviceException.printStackTrace(System.out);
        }
      }
    }
    if (__transferencia == null && !_useJNDIOnly) {
      try {
        __transferencia = (new com.stefanini.pe.gnrws.services.TransferenciaServiceLocator()).getTransferencia();
        
      }
      catch (javax.xml.rpc.ServiceException serviceException) {
        if ("true".equalsIgnoreCase(System.getProperty("DEBUG_PROXY"))) {
          System.out.println("Unable to obtain port: javax.xml.rpc.ServiceException: " + serviceException.getMessage());
          serviceException.printStackTrace(System.out);
        }
      }
    }
    if (__transferencia != null) {
      if (_endpoint != null)
        ((javax.xml.rpc.Stub)__transferencia)._setProperty("javax.xml.rpc.service.endpoint.address", _endpoint);
      else
        _endpoint = (String)((javax.xml.rpc.Stub)__transferencia)._getProperty("javax.xml.rpc.service.endpoint.address");
    }
    
  }
  
  
  public void useJNDI(boolean useJNDI) {
    _useJNDI = useJNDI;
    __transferencia = null;
    
  }
  
  public void useJNDIOnly(boolean useJNDIOnly) {
    _useJNDIOnly = useJNDIOnly;
    __transferencia = null;
    
  }
  
  public String getEndpoint() {
    return _endpoint;
  }
  
  public void setEndpoint(String endpoint) {
    _endpoint = endpoint;
    if (__transferencia == null)
      _initTransferenciaProxy();
    if (__transferencia != null)
      ((javax.xml.rpc.Stub)__transferencia)._setProperty("javax.xml.rpc.service.endpoint.address", _endpoint);
    
  }
  
  public java.lang.String validarUsuarioPorTipo(java.lang.String strIdLogin, java.lang.String strAmbienteHOST, java.lang.String strIpCliente, java.lang.String strSesion, java.lang.String strUsuario, java.lang.String strPassword, java.lang.String strCodigoSistema) throws java.rmi.RemoteException{
    if (__transferencia == null)
      _initTransferenciaProxy();
    return __transferencia.validarUsuarioPorTipo(strIdLogin, strAmbienteHOST, strIpCliente, strSesion, strUsuario, strPassword, strCodigoSistema);
  }
  
  public java.lang.String listaMenuGeneral(java.lang.String codSistema, java.lang.String strPermisos) throws java.rmi.RemoteException{
    if (__transferencia == null)
      _initTransferenciaProxy();
    return __transferencia.listaMenuGeneral(codSistema, strPermisos);
  }
  
  public java.lang.String listaMenuGenerico(java.lang.String strIdLogin, java.lang.String sIdTrama, java.lang.String strAmbienteHOST, java.lang.String strIpCliente, java.lang.String strSesion, java.lang.String strUsuario, java.lang.String strPassword, java.lang.String strCodigoSistema) throws java.rmi.RemoteException{
    if (__transferencia == null)
      _initTransferenciaProxy();
    return __transferencia.listaMenuGenerico(strIdLogin, sIdTrama, strAmbienteHOST, strIpCliente, strSesion, strUsuario, strPassword, strCodigoSistema);
  }
  
  public java.lang.String enviaTramas(java.lang.String strIdLogin, java.lang.String strIdTrama, java.lang.String strTrama, java.lang.String strAmbienteHOST, java.lang.String strIpCliente, java.lang.String strSesion, java.lang.String strUsuario, java.lang.String strPassword, java.lang.String strCodigoSistema) throws java.rmi.RemoteException{
    if (__transferencia == null)
      _initTransferenciaProxy();
    return __transferencia.enviaTramas(strIdLogin, strIdTrama, strTrama, strAmbienteHOST, strIpCliente, strSesion, strUsuario, strPassword, strCodigoSistema);
  }
  
  public java.lang.String listaMenu(java.lang.String strIdLogin, java.lang.String strAmbienteHOST, java.lang.String strIpCliente, java.lang.String strSesion, java.lang.String strUsuario, java.lang.String strPassword, java.lang.String strCodigoSistema) throws java.rmi.RemoteException{
    if (__transferencia == null)
      _initTransferenciaProxy();
    return __transferencia.listaMenu(strIdLogin, strAmbienteHOST, strIpCliente, strSesion, strUsuario, strPassword, strCodigoSistema);
  }
  
  public java.lang.String listaMenuGenericoSinTecla(java.lang.String strIdLogin, java.lang.String sIdTrama, java.lang.String strTecla, java.lang.String strAmbienteHOST, java.lang.String strIpCliente, java.lang.String strSesion, java.lang.String strUsuario, java.lang.String strPassword, java.lang.String strCodigoSistema) throws java.rmi.RemoteException{
    if (__transferencia == null)
      _initTransferenciaProxy();
    return __transferencia.listaMenuGenericoSinTecla(strIdLogin, sIdTrama, strTecla, strAmbienteHOST, strIpCliente, strSesion, strUsuario, strPassword, strCodigoSistema);
  }
  
  public java.lang.String soloTrama(java.lang.String strIdTrama, java.lang.String strTrama, java.lang.String strAmbienteHOST, java.lang.String strIpCliente, java.lang.String strCodigoSistema) throws java.rmi.RemoteException{
    if (__transferencia == null)
      _initTransferenciaProxy();
    return __transferencia.soloTrama(strIdTrama, strTrama, strAmbienteHOST, strIpCliente, strCodigoSistema);
  }
  
  
  public com.stefanini.pe.gnrws.services.Transferencia getTransferencia() {
    if (__transferencia == null)
      _initTransferenciaProxy();
    return __transferencia;
  }
  
}